Session Initiation Protocol (Java)

Session Initiation Protocol (SIP) is an IETF standard protocol (RFC 3261 and several others for extensions, originated by 3GPP (3rd Generation Partnership Project; a mobile network standardisation body)) for IP-communication, enabling IP-Telephony gateways, client endpoints, PBXs and other communication systems or devices to communicate with each other. SIP mainly addresses the call setup and tear down mechanisms of sessions and is independent of the transmission of media streams between caller and callee.

There are several Java platform APIs developed under the Java Community Process that support Java SIP applications.

Specification JSR(s)
JAIN SIP API Specification (JSIP) JSR 32 (1.0, 1.1)

As of 2006 JSIP 1.2 is being developed as a maintenance release of JSR 32.

SIP API for J2ME JSR 180 (1.0)
SIP Servlet API JSR 116 (1.0)

JSR 289 (1.1)

Contents

JSIP

The JAIN SIP Specification defines an API which allows for the rapid development of IP Telephony services and applications written in the Java(TM) programming language. The JSIP packages are:

javax.sip, javax.sip.message, javax.sip.header, javax.sip.address
These packages contain the main interfaces, classes, and exceptions required to parse, construct, send and receive SIP messages.
javax.sdp
Is a related JSR. This package contains the interfaces, classes, and exceptions representing the Session Description Protocol (SDP), as specified in RFC 2327, used by SIP. This is not actually a part of the JSIP standard but is included in the reference implementation.

SIP API for J2ME

SIP API for J2ME defines a multipurpose SIP API for Java ME clients. It enables SIP applications supporting MIDP/CLDC to run SIP enabled MIDlets to be executed in memory limited terminals, especially targeting to mobile phones.

SIP Servlet

The SIP Servlet API defines a high-level servlet extension for SIP servers. It enables SIP applications to be deployed and managed based on the servlet model.

Mobicents Sip Servlets platform, is an open source certified implementation of the SIP Servlet v1.1 (JSR 289 Spec) on top of Tomcat & JBoss containers.

Jitsi

A SIP implementation using JAVA is the Jitsi softphone.

See also

External links